//-----------------------------------------------------------------------
// <copyright file="BulkOrderBase.cs" company="Pyramid Consulting">
//     Copyright (c) Pyramid Consulting. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
	
using System;
using System.Data;
using System.ComponentModel;
using System.Collections;

namespace MIMS.WRS.Entities
{
	[Serializable]
	public class BulkOrderBase
	{
		
		#region Variable Declarations
		private int				bulkOrderID = 0;
		private DateTime				orderDate = new DateTime(1900,1,1,0,0,0,0);
		private byte				type = 0;
		private string				productCode = string.Empty;
		private string				description = string.Empty;
		private string				color = string.Empty;
		private DateTime				startDate = new DateTime(1900,1,1,0,0,0,0);
		private int				totalQtyOrdered = 0;
		private int				totalQtyCompleted = 0;
		private int				totalQtyInProgressBelow50P = 0;
		private int				totalQtyInProgressAbove50P = 0;
		private DateTime				estimatedDate = new DateTime(1900,1,1,0,0,0,0);
		private DateTime				stockLastCheckedDate = new DateTime(1900,1,1,0,0,0,0);
		private int				stockLastCheckedQty = 0;
		private decimal				fob = 0;
		private DateTime				completedDate = new DateTime(1900,1,1,0,0,0,0);
		private string				supplierCode = string.Empty;
		private int				owner = 0;
		private string				catalogue = string.Empty;
		private string				page = string.Empty;
		private string				pack = string.Empty;
		private int				packQty = 0;
		private int				catalogID = 0;
		private bool				target = false;
		private string				salesDescription1 = string.Empty;
		private string				salesDescription2 = string.Empty;
		private string				stockLocation = string.Empty;
		private bool				availableInUSA = false;
		private string				bONo = string.Empty;
		private string				minOrderQty = string.Empty;
		private decimal				minQtyVolume = 0;
		private string				tallPaletQty = string.Empty;
		private int				unitSettingID =0;
		private int				iDSSortID = 0;
		private bool				isArchived = false;
		private string				catPackDesc = string.Empty;
		private int				mUKTHGCatPackQty = 0;
		private string				mUKTHGCatPackDesc = string.Empty;
		private decimal				homeDelivered15Price = 0;
		private int				currencyID = 0;
		private bool				isShownInLGDCatalog = false;
		private decimal				specialOfferDisc = 0;
		private DateTime				modifiedDate = new DateTime(1900,1,1,0,0,0,0);
		private int				qtyUnitsPer40Cont = 0;
		private int				qtyUnitsPer20Cont = 0;
		private decimal			unitWeight = 0;
		private string				hcc_Code = string.Empty;
		private int				territoryID = 0;
		private int	 unitsPerOuter;
		private decimal	unitFOBPrice;
		#endregion
		
		#region Constructors
		public BulkOrderBase() {}
		
		public BulkOrderBase (
			int bulkOrderID,
			DateTime orderDate,
			byte type,
			string productCode,
			string description,
			string color,
			DateTime startDate,
			int totalQtyOrdered,
			int totalQtyCompleted,
			int totalQtyInProgressBelow50P,
			int totalQtyInProgressAbove50P,
			DateTime estimatedDate,
			DateTime stockLastCheckedDate,
			int stockLastCheckedQty,
			decimal fob,
			DateTime completedDate,
			string supplierCode,
			int owner,
			string catalogue,
			string page,
			string pack,
			int packQty,
			int catalogID,
			bool target,
			string salesDescription1,
			string salesDescription2,
			string stockLocation,
			bool availableInUSA,
			string bONo,
			string minOrderQty,
			decimal minQtyVolume,
			string tallPaletQty,
			int unitSettingID,
			int iDSSortID,
			bool isArchived,
			string catPackDesc,
			int mUKTHGCatPackQty,
			string mUKTHGCatPackDesc,
			decimal homeDelivered15Price,
			int currencyID,
			bool isShownInLGDCatalog,
			decimal specialOfferDisc,
			int qtyUnitsPer40Cont,
			int qtyUnitsPer20Cont,
			decimal unitWeight,
			string hcc_Code,
			int territoryID,
			DateTime modifiedDate)
		
		{
			this.bulkOrderID = bulkOrderID;
			this.orderDate = orderDate;
			this.type = type;
			this.productCode = productCode;
			this.description = description;
			this.color = color;
			this.startDate = startDate;
			this.totalQtyOrdered = totalQtyOrdered;
			this.totalQtyCompleted = totalQtyCompleted;
			this.totalQtyInProgressBelow50P = totalQtyInProgressBelow50P;
			this.totalQtyInProgressAbove50P = totalQtyInProgressAbove50P;
			this.estimatedDate = estimatedDate;
			this.stockLastCheckedDate = stockLastCheckedDate;
			this.stockLastCheckedQty = stockLastCheckedQty;
			this.fob = fob;
			this.completedDate = completedDate;
			this.supplierCode = supplierCode;
			this.owner = owner;
			this.catalogue = catalogue;
			this.page = page;
			this.pack = pack;
			this.packQty = packQty;
			this.catalogID = catalogID;
			this.target = target;
			this.salesDescription1 = salesDescription1;
			this.salesDescription2 = salesDescription2;
			this.stockLocation = stockLocation;
			this.availableInUSA = availableInUSA;
			this.bONo = bONo;
			this.minOrderQty = minOrderQty;
			this.minQtyVolume = minQtyVolume;
			this.tallPaletQty = tallPaletQty;
			this.unitSettingID = unitSettingID;
			this.iDSSortID = iDSSortID;
			this.isArchived = isArchived;
			this.catPackDesc = catPackDesc;
			this.mUKTHGCatPackQty = mUKTHGCatPackQty;
			this.mUKTHGCatPackDesc = mUKTHGCatPackDesc;
			this.homeDelivered15Price = homeDelivered15Price;
			this.currencyID = currencyID;
			this.isShownInLGDCatalog = isShownInLGDCatalog;
			this.specialOfferDisc = specialOfferDisc;
			this.qtyUnitsPer40Cont = qtyUnitsPer40Cont;
			this.qtyUnitsPer20Cont = qtyUnitsPer20Cont;
			this.unitWeight = unitWeight;
			this.HCC_Code = hcc_Code;
			this.territoryID = territoryID;
			this.modifiedDate = modifiedDate;
		}
		#endregion
		
		#region Properties	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int BulkOrderID
		{
			get { return bulkOrderID; }
			set { bulkOrderID = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime OrderDate
		{
			get { return orderDate; }
			set { orderDate = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is tinyint</value>
		public byte Type
		{
			get { return type; }
			set { type = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string ProductCode
		{
			get { return productCode; }
			set { productCode = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is nvarchar</value>
		public string Description
		{
			get { return description; }
			set { description = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is nvarchar</value>
		public string Color
		{
			get { return color; }
			set { color = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime StartDate
		{
			get { return startDate; }
			set { startDate = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int TotalQtyOrdered
		{
			get { return totalQtyOrdered; }
			set { totalQtyOrdered = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int TotalQtyCompleted
		{
			get { return totalQtyCompleted; }
			set { totalQtyCompleted = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int TotalQtyInProgressBelow50P
		{
			get { return totalQtyInProgressBelow50P; }
			set { totalQtyInProgressBelow50P = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int TotalQtyInProgressAbove50P
		{
			get { return totalQtyInProgressAbove50P; }
			set { totalQtyInProgressAbove50P = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime EstimatedDate
		{
			get { return estimatedDate; }
			set { estimatedDate = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime StockLastCheckedDate
		{
			get { return stockLastCheckedDate; }
			set { stockLastCheckedDate = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int StockLastCheckedQty
		{
			get { return stockLastCheckedQty; }
			set { stockLastCheckedQty = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is money</value>
		public decimal FOB
		{
			get { return fob; }
			set { fob = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime CompletedDate
		{
			get { return completedDate; }
			set { completedDate = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string SupplierCode
		{
			get { return supplierCode; }
			set { supplierCode = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int Owner
		{
			get { return owner; }
			set { owner = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is nvarchar</value>
		public string Catalogue
		{
			get { return catalogue; }
			set { catalogue = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string Page
		{
			get { return page; }
			set { page = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string Pack
		{
			get { return pack; }
			set { pack = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int PackQty
		{
			get { return packQty; }
			set { packQty = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int CatalogID
		{
			get { return catalogID; }
			set { catalogID = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is bit</value>
		public bool Target
		{
			get { return target; }
			set { target = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is nvarchar</value>
		public string SalesDescription1
		{
			get { return salesDescription1; }
			set { salesDescription1 = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is nvarchar</value>
		public string SalesDescription2
		{
			get { return salesDescription2; }
			set { salesDescription2 = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string StockLocation
		{
			get { return stockLocation; }
			set { stockLocation = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is bit</value>
		public bool AvailableInUSA
		{
			get { return availableInUSA; }
			set { availableInUSA = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string BONo
		{
			get { return bONo; }
			set { bONo = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string MinOrderQty
		{
			get { return minOrderQty; }
			set { minOrderQty = value; }
		}
		
		int minOrderQtyValue;
		public int MinOrderQtyValue
		{
			get { return minOrderQtyValue; }
			set { minOrderQtyValue = value; }
		}

		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is decimal</value>
		public decimal MinQtyVolume
		{
			get { return minQtyVolume; }
			set { minQtyVolume = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string TallPaletQty
		{
			get { return tallPaletQty; }
			set { tallPaletQty = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int UnitSettingID
		{
			get { return unitSettingID; }
			set { unitSettingID = value; }
		}
		
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int IDSSortID
		{
			get { return iDSSortID; }
			set { iDSSortID = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is bit</value>
		public bool IsArchived
		{
			get { return isArchived; }
			set { isArchived = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string CatPackDesc
		{
			get { return catPackDesc; }
			set { catPackDesc = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int MUKTHGCatPackQty
		{
			get { return mUKTHGCatPackQty; }
			set { mUKTHGCatPackQty = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string MUKTHGCatPackDesc
		{
			get { return mUKTHGCatPackDesc; }
			set { mUKTHGCatPackDesc = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is money</value>
		public decimal HomeDelivered15Price
		{
			get { return homeDelivered15Price; }
			set { homeDelivered15Price = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int CurrencyID
		{
			get { return currencyID; }
			set { currencyID = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is bit</value>
		public bool IsShownInLGDCatalog
		{
			get { return isShownInLGDCatalog; }
			set { isShownInLGDCatalog = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is money</value>
		public decimal SpecialOfferDisc
		{
			get { return specialOfferDisc; }
			set { specialOfferDisc = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int QtyUnitsPer40Cont
		{
			get { return qtyUnitsPer40Cont; }
			set { qtyUnitsPer40Cont = value; }
		}

		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int QtyUnitsPer20Cont
		{
			get { return qtyUnitsPer20Cont; }
			set { qtyUnitsPer20Cont = value; }
		}

		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is decimal</value>
		public decimal UnitWeight
		{
			get { return unitWeight; }
			set { unitWeight = value; }
		}

		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public string HCC_Code
		{
			get { return hcc_Code; }
			set { hcc_Code = value; }
		}
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int TerritoryID
		{
			get { return territoryID; }
			set { territoryID = value; }
		}

		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime ModifiedDate
		{
			get { return modifiedDate; }
			set { modifiedDate = value; }
		}

		public int UnitsPerOuter
		{
			get { return unitsPerOuter; }
			set { unitsPerOuter = value; }
		}
		public decimal UnitFOBPrice
		{
			get { return unitFOBPrice; }
			set { unitFOBPrice = value; }
		}
		
	
		
		#endregion
	}//End Class
	
	public enum BulkOrderColumns
	{
		BulkOrderID,
		OrderDate,
		Type,
		ProductCode,
		Description,
		Color,
		StartDate,
		TotalQtyOrdered,
		TotalQtyCompleted,
		TotalQtyInProgressBelow50P,
		TotalQtyInProgressAbove50P,
		EstimatedDate,
		StockLastCheckedDate,
		StockLastCheckedQty,
		FOB,
		CompletedDate,
		SupplierCode,
		Owner,
		Catalogue,
		Page,
		Pack,
		PackQty,
		CatalogID,
		Target,
		SalesDescription1,
		SalesDescription2,
		StockLocation,
		AvailableInUSA,
		BONo,
		MinOrderQtyValue,
		MinOrderQty,
		MinQtyVolume,
		TallPaletQty,
		UnitSettingID,
		IDSSortID,
		IsArchived,
		CatPackDesc,
		MUKTHGCatPackQty,
		MUKTHGCatPackDesc,
		HomeDelivered15Price,
		CurrencyID,
		IsShownInLGDCatalog,
		SpecialOfferDisc,
		QtyUnitsPer40Cont,
		QtyUnitsPer20Cont,
		UnitWeight,
		HCC_Code,
		ModifiedDate,
		TerritoryID,
		UnitsPerOuter,
		UnitFOBPrice
	}//End enum
}